package dados;

import java.math.BigDecimal;
import java.util.HashSet;

public class Torre {

	private String id;
	
	private Integer idInteger;

	private BigDecimal custo;

	private HashSet<Integer> pontosCobertos;

	private BigDecimal custoUnitario;
	
	private Integer tabu;

	public Torre() {
		// construtor vazio
	}

	public Torre(String id, BigDecimal custo, HashSet<Integer> pontosCobertos) {
		this.id = id;
		this.idInteger = Integer.valueOf(id.substring(1));
		this.custo = custo;
		this.setTabu(0);
		this.pontosCobertos = pontosCobertos;
		this.custoUnitario = custo.divide(
				new BigDecimal(pontosCobertos.size()), 2);
	}

	public String getId() {
		return id;
	}

	public BigDecimal getCusto() {
		return custo;
	}

	public HashSet<Integer> getPontosCobertos() {
		return pontosCobertos;
	}

	public BigDecimal getCustoUnitario() {
		return custoUnitario;
	}

	public void setId(String id) {
		this.id = id;
	}

	public void setCusto(BigDecimal custo) {
		this.custo = custo;
	}

	public void setCustoUnitario(BigDecimal custoUnitario) {
		this.custoUnitario = custoUnitario;
	}

	public void setPontosCobertos(HashSet<Integer> pontosCobertos) {
		this.pontosCobertos = pontosCobertos;
	}

	public void setTabu(Integer tabu) {
		this.tabu = tabu;
	}

	public Integer getTabu() {
		return tabu;
	}
	
	public void setIdInteger(Integer idInteger) {
		this.idInteger = idInteger;
	}

	public Integer getIdInteger() {
		return idInteger;
	}

	public void decrementaTabu() {
		if(this.tabu - 1 >= 0){
			this.tabu = this.tabu - 1;
		}
	}
	
}
